package com.kgc.controller;


import com.kgc.basic.pojo.Customer;
import com.kgc.basic.pojo.Store;
import com.kgc.basic.util.ResponseMsg;
import com.kgc.feign.CustomerFeign;
import com.kgc.feign.StoreFeign;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@RequestMapping("/store")
public class StoreController {

    private Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    private StoreFeign storeFeign;

    @RequestMapping("getStoreList")
    public ResponseMsg getStoreList(@RequestBody Map<String, Object> paramMap) {
        logger.info("StoreController getStoreList paramMap:"+paramMap);
        ResponseMsg msg = storeFeign.getStoreList(paramMap);
        logger.debug("StoreController getStoreList msg:"+msg);
        return msg;
    }

    @RequestMapping("getAllStore")
    public ResponseMsg getAllStore() {
        logger.info("StoreController getStoreList start...");
        ResponseMsg msg = storeFeign.getAllStore();
        logger.debug("StoreController getAllStore msg:"+msg);
        return msg;
    }

    @RequestMapping("getStoreById")
    public ResponseMsg getStoreById(@RequestParam("id") Integer id) {
        logger.info("StoreController getStoreById id:"+id);
        ResponseMsg msg = storeFeign.getStoreById(id);
        logger.debug("StoreController getStoreById msg:"+msg);
        return msg;
    }

    @RequestMapping("addStore")
    public ResponseMsg addStore(@RequestBody Store store) {
        logger.info("StoreController addStore store:"+store);
        ResponseMsg msg = storeFeign.addStore(store);
        logger.debug("StoreController addStore msg:"+msg);
        return msg;
    }

    @RequestMapping("modifyStore")
    public ResponseMsg modifyStore(@RequestBody Store store) {
        logger.info("StoreController modifyStore store:"+store);
        ResponseMsg msg = storeFeign.modifyStore(store);
        logger.debug("StoreController modifyStore msg:"+msg);
        return msg;
    }

    @RequestMapping("delStore")
    public ResponseMsg delStore(@RequestParam("id") Integer id) {
        logger.info("StoreController delStore id:"+id);
        ResponseMsg msg = storeFeign.delStore(id);
        logger.debug("StoreController delStore msg:"+msg);
        return msg;
    }

    @RequestMapping("getStoreByCode")
    public ResponseMsg getStoreByCode(@RequestParam("code") String code) {
        logger.info("StoreController getStoreByCode code:"+code);
        ResponseMsg msg = storeFeign.getStoreByCode(code);
        logger.debug("StoreController getStoreByCode msg:"+msg);
        return msg;
    }

    @RequestMapping("getStoreByName")
    public ResponseMsg getStoreByName(@RequestParam("name") String name) {
        logger.info("StoreController getStoreByName name:"+name);
        ResponseMsg msg = storeFeign.getStoreByName(name);
        logger.debug("StoreController getStoreByName msg:"+msg);
        return msg;
    }
}
